home *** CD-ROM | disk | FTP | other *** search
- .LFCOND
-
- COM EQU 1
- D3 EQU 0
- ;
- ;*****************************************
- CODESEG SEGMENT BYTE PUBLIC 'CODE'
- ;
- ;-----------------------------------------
- ASSUME CS:CODESEG
- MEMDUMP PROC FAR
- IF COM
- ORG 100H
- ENDIF
- ;
- START: JMP ENTER
- ;
- TAB_LOC EQU $-CODESEG
- ASCII_TAB DB 16 DUP (?)
- ;
- ENTER: PUSH AX
- PUSH BX
- DEC BX
- PUSH CX
- PUSH DX
- PUSH DS
- PUSH SI
- PUSH DI
- IF D3
- CALL CRLF
- ENDIF
- MOV CX,8
- LUP1: MOV AX,DS
- MOV DI,TAB_LOC
- PUSH CX
- MOV CX,4
- CALL HEXPRINT
- MOV DL,':'
- MOV AH,2
- INT 21H
- MOV AX,BX
- MOV CX,4
- CALL HEXPRINT
- CALL SPACES
- CALL SPACES
- MOV CX,16
- LUP2: MOV AH,[BX]
- MOV CS:[DI],AH
- PUSH CX
- MOV CX,2
- CALL HEXPRINT
- CALL SPACES
- INC BX
- INC DI
- POP CX
- LOOP LUP2
- CALL SPACES
- CALL SPACES
- CALL ASC_PRINT
- CALL CRLF
- POP CX
- LOOP LUP1
- EXIT: POP DI
- POP SI
- POP DS
- POP DX
- POP CX
- POP BX
- POP AX
- IF COM
- INT 20h
- ELSE
- RET
- ENDIF
- MEMDUMP ENDP
- ;-------------------------------------
- HEXPRINT PROC NEAR
- HEXCNVT2:
- ROL AX,1
- ROL AX,1
- ROL AX,1
- ROL AX,1
- PUSH AX
- AND AX,000FH
- ADD AL,90H
- DAA
- ADC AL,40H
- DAA
- MOV AH,0EH
- INT 10H
- POP AX
- LOOP HEXCNVT2
- RET
- HEXPRINT ENDP
- ;--------------------------------------------
- SPACES PROC NEAR
- PUSH DX
- PUSH AX
- MOV DL,' '
- MOV AH,2
- INT 21H
- POP AX
- POP DX
- RET
- SPACES ENDP
- ;--------------------------------------------
- CRLF PROC NEAR
- PUSH AX
- PUSH DX
- MOV DL,0DH
- MOV AH,2
- INT 21H
- MOV DL,0AH
- MOV AH,2
- INT 21H
- POP DX
- POP AX
- RET
- CRLF ENDP
- ;---------------------------------------------
- ASC_PRINT PROC NEAR
- PUSH AX
- PUSH CX
- PUSH DX
- PUSH SI
- PUSH DI
- MOV SI,TAB_LOC
- MOV CX,16
- PRINT_CHAR:
- MOV DL,CS:[SI]
- CMP DL,255
- JE PRINT_DOT
- CMP DL,128
- JB IS_SPACE
- AND DL,7FH
- IS_SPACE:
- CMP DL,' '
- JB PRINT_DOT
- MOV AH,2
- INT 21H
- INC SI
- JMP NEXT
- PRINT_DOT:
- MOV DL,'.'
- MOV AH,2
- INT 21H
- INC SI
- NEXT: LOOP PRINT_CHAR
- POP DI
- POP SI
- POP DX
- POP CX
- POP AX
- RET
- ASC_PRINT ENDP
- ;--------------------------------------------
- CODESEG ENDS
- ;***********************************************
- END START